package com.zhuiYun.project.api.handworkdiy.service;

import com.zhuiYun.project.api.handworkdiy.entity.CommodityAndDiyVo;
import com.zhuiYun.project.common.errorCode.CommonException;
import com.zhuiYun.project.common.response.CommonResult;
import com.zhuiYun.project.util.pageUtil.PageRequest;

import java.util.List;

public interface HandworkService {

    /**
     * @param
     * @Author kdj
     * @Description 查询DIY的特价商品方法
     * @Date 2023/4/5 19:18
     * @Return com.zhuiYun.project.common.response.CommonResult
     */
    CommonResult getHandworkDiyListByOffer();

    /**
     * @param
     * @Author kdj
     * @Description 查询DIY的特色商品方法
     * @Date 2023/4/5 21:02
     * @Return com.zhuiYun.project.common.response.CommonResult
     */
    CommonResult getHandworkDiyListByCharacteristic();

    /**
     * @param ids
     * @Description 获取手工diy信息列表
     * @Author lzy
     * @Date 2023/4/5 19:49
     * @Return com.zhuiYun.project.common.response.CommonResult
     */
    CommonResult getHandworkDiyListByIds(String ids) throws CommonException;

    /**
     * @param
     * @Author kdj
     * @Description 查询DIY的类型列表
     * @Date 2023/4/6 12:01
     * @Return com.zhuiYun.project.common.response.CommonResult
     */
    CommonResult getHandworkDiyTypeList();

    /**
     * @param typeId
     * @param queryDiyName
     * @param minPrice
     * @param maxPrice
     * @param orderValue
     * @param pageRequest
     * @Author kdj
     * @Description 根据Pc页面条件查询Diy商品列表
     * @Date 2023/4/7 11:48
     * @Return com.zhuiYun.project.common.response.CommonResult
     */
    CommonResult getHandworkDiyListByPageParams(Integer typeId, String queryDiyName, Integer minPrice, Integer maxPrice, String orderValue,
                                                PageRequest pageRequest);

    /**
     * @param id
     * @Author kdj
     * @Description 根据diyid获取 DIY商品信息
     * @Date 2023/4/7 14:38
     * @Return com.zhuiYun.project.common.response.CommonResult
     */
    CommonResult getHandworkDiyById(Integer id);

    /**
     * @param id
     * @Author kdj
     * @Description 计算diy商品评论总数量
     * @Date 2023/4/7 17:09
     * @Return com.zhuiYun.project.common.response.CommonResult
     */
    CommonResult calculateTheTotalNumberOfComments(Integer id);

    /**
     * @param id
     * @param pageRequest
     * @Author kdj
     * @Description 根据diyid计算diy商品评论总数量
     * @Date 2023/4/7 17:46
     * @Return com.zhuiYun.project.common.response.CommonResult
     */
    CommonResult queryAllComments(Integer id, PageRequest pageRequest);
    /**
     *
     * @Author lzk
     * @Description 查询diy所有信息
     * @date 2023/4/12 15:19
     * Return com.zhuiYun.project.common.response.CommonResult
     */
    CommonResult queryDIYInformation();

    /**
     * @Author gpd
     * @Description 搜索栏模糊查（uniapp首页搜索栏）
     * @Date 2023-04-13 上午 08:45
     * @Return com.zhuiYun.project.common.response.CommonResult
     * @param selectValue
     */
    List<CommodityAndDiyVo> selectCommodity(String selectValue);
}
